Satellite-based navigational systems provide accurate, two or three dimensional position information to worldwide users. FIG. 1 depicts a well-known satellite-based navigational system referred to as Global Positioning System (GPS) 10. GPS 10 comprises a plurality of satellites 12-j and at least one GPS receiver 14. Each satellite 12-j orbits earth at a known speed νj and is a known distance apart from other satellites 12-j. Each satellite 12-j transmits a GPS signal 11-j which includes a carrier signal with a known frequency f modulated using a unique pseudo-random noise (PN-j) code and navigational data (ND-j) associated with the particular satellite 12-j, wherein the PN-j code includes a unique sequence of PN chips and navigation data ND-j includes a satellite identifier, timing information and orbital data, such as elevation angle αj and azimuth angle φj.
GPS receiver 14 comprises an antenna 15 for receiving GPS signals 11-j, a plurality of correlators 16-k for detecting GPS signals 11-j and a processor 17 having software for determining a position using pseudoranges and the navigation data ND-j associated with the detected GPS signals 11-j. GPS receiver 14 detects GPS signals 11-j via PN-j codes using a correlation process in which correlators 16-k search for PN-j codes in a carrier frequency dimension and a code phase dimension. Such correlation process is implemented as a real-time multiplication of a phase shifted replicated PN-j codes modulated onto a replicated carrier signal with received GPS signals 11-j, followed by an integration and dump process.
Upon detecting GPS signals 11-j, GPS receiver 14 extracts ranging information from the detected GPS signals 11-j in the form of pseudoranges or PN phase offset measurements, wherein ranging information indicates a range or distance between a transmitter source, i.e., satellite 12-j, and a receiver, i.e., GPS receiver 14. The pseudorange measurements are subsequently used to determine time differences for satellites 12-j indicating times required for GPS signals 11-j to travel from satellites 12-j to GPS receiver 14. Such time differences, along with other navigational data indicated in GPS signals 11-j, are used to determine the position of GPS receiver 14, as is well known in the art. Note that a two dimensional position, i.e., latitude and longitude, of GPS receiver 14 can be determined if GPS receiver 14 can detect GPS signals 11-j transmitted from at least three satellites 12-j, and a three dimensional position, i.e., latitude, longitude and altitude, of GPS receiver 14 can be determined if GPS receiver 14 can detect GPS signals 11-j transmitted from at least four satellites 12-j. 
The accuracy of the position being determined for GPS receiver 14 depends on the quality of the pseudorange measurements. The quality of the pseudorange measurements is affected by signal strengths, multipaths, noise caused by the environment or GPS receiver components, etc. Good quality pseudorange measurements result in high accuracy GPS receiver 14 positioning solutions. By contrast, poor quality PN phase offset measurements, such as outliers, result in GPS receiver 14 positioning solutions with large errors.
Integrity monitoring techniques are used to detect and, if possible, remove poor quality pseudorange measurements used in positioning solutions such that high accuracy GPS receiver 14 positioning solutions may be obtained. The function of integrity monitoring is to perform failure detection and/or failure isolation. Failure detection is a technique for determining the existence of a failed satellite, i.e., satellite associated with a poor quality pseudorange measurement used in a positioning solution. In order to perform failure detection in two dimensional positioning solutions, GPS receiver 14 needs to be able to detect at least four GPS signals 11-j. In order to perform failure detection in three dimensional positioning solutions, GPS receiver 14 needs to be able to detect at least five GPS signals 11-j. 
Failure isolation is a technique for identifying the failed satellite (or poor quality pseudorange measurement). In order to perform failure isolation in two dimensional positioning solutions, GPS receiver 14 needs to be able to detect at least five GPS signals 11-j. In order to perform failure isolation in three dimensional positioning solutions, GPS receiver 14 needs to be able to detect at least six GPS signals 11-j. Once failure isolation is successfully performed, the ranging information associated with the failed satellite can be removed from positioning solutions.
Integrity monitoring techniques include the well-known parity method, ranging comparison method and least squares residuals method. All three methods are snapshot schemes that assume redundant ranging information or measurements, i.e., the number of ranging information or measurements is more than required for determining a positioning solution, are available at a given sample point in time. All three methods have been proven to provide identical results with respect to failure detection. The parity method, however, has been proven to be further useful in performing failure isolation. For ease of discussion, integrity monitoring will be discussed herein with reference to the parity method. This should not be construed to limit the present invention in any manner.
The basic measurement relationships for failure detection and isolation can be generally described by the following well-known equationy=Hx+e  equation 1where y is a n×1 measurement vector representing differences between actual measured pseudoranges and predicted pseudoranges based on a nominal position of GPS receiver 14 and a clock bias, n is the number of ranging measurements, and H is a n×m known predictor matrix arrived at by linearizing about the nominal position and a clock bias. The term x is a m×1 vector which typically includes components of true position deviation from the nominal position plus a derivation of the clock bias, where m is the number of unknown variables in vector x to be solved. The term e is a n×1 measurement error vector due to receiver noise, vagaries in propagation, imprecise knowledge of satellite position, satellite clock error, etc. For the integrity monitoring of a satellite navigation system, it is commonly assumed that e is a zero mean with n×n covariance matrix R=σ2I, where I is a n×n identity matrix and σ2 is a variance associated with each element of the error vector e.
In the parity method, a linear transformation on the measurement vector y results in the following equation
                              [                                                                                          x                    ^                                    LS                                                                                    p                                              ]                =                              [                                                                                                                              (                                                                              H                            T                                                    ⁢                          H                                                )                                                                    -                        1                                                              ⁢                                          H                      T                                                                                                                    P                                                      ]                    ⁢          y                                    equation        ⁢                                  ⁢        2            where the upper portion yields a least squares solution {circumflex over (x)}LS and the lower portion yields a parity vector p. Least squares solution {circumflex over (x)}LS indicates least squares components of true position deviation from the nominal position and derivation of the clock bias. Parity vector p is the result of operating on measurement vector y with a special (n−m)×n matrix P, wherein matrix P has rows unity in magnitude and mutually orthogonal to each other and to the columns of predictor matrix H. The method of determining matrix P is well-known and described in “Matrix Computation,” Second Edition, authored by G. H. Golub and C. F. Van Loan and published by The John Hopkins University Press.
Under the assumption of equation 1, i.e., e is a zero mean with a n×1 measurement error vector, failure detection is a simple scalar which obeys a chi-square distribution with a freedom of n−m. Specifically, failure detection utilizes a failure decision rule, wherein the failure decision rule involves calculating a decision scalar d=pTp, and comparing the decision scalar d against a predetermined failure detection threshold value. If the decision scalar d is greater than the failure detection threshold, then failure is detected and declared. Otherwise, failure is not detected and no failure is declared. Note that n−m must be larger or equal to one for failure detection to be possible. Thus, the number of redundant ranging measurements n must be at least four or five in order to perform failure detection in two or three dimensional positioning solutions, respectively.
Parity vector p also provides a geometric perspective useful in failure isolation because the direction indicated by parity vector p can be used to identify the failed satellite. For example, assume there are total 6 satellite measurements and 4 unknown variables in vector x, i.e., n=6 and m=4. Assume also a failure happens on a k-th satellite 12-j, which causes an error b in the measurement of the k-th satellite 12-j, where b is much larger than normal measurement noise. The matrix P is then a 2×6 matrix.
                    P        =                  [                                                                      p                  11                                                            …                                                              p                                      1                    ⁢                                                                                  ⁢                    j                                                                              …                                                              p                  16                                                                                                      p                  21                                                            …                                                              p                                      2                    ⁢                                                                                  ⁢                    j                                                                              …                                                              p                  26                                                              ]                                    equation        ⁢                                  ⁢        3        ⁢        a            Since b is much larger than normal measurement noise, the measurement error vector e can be approximated by the following equation.
                    e        =                              [                                                                                e                    1                                                                                                ⋮                                                                                                                        e                      j                                        +                    b                                                                                                ⋮                                                                                                  e                    n                                                                        ]                    ≈                      [                                                            0                                                                              ⋮                                                                              b                                                                              ⋮                                                                              0                                                      ]                                              equation        ⁢                                  ⁢        3        ⁢        b            Then, the resultant parity vector p is
                    p        =                              P            ⁢                                                  ⁢            y                    =                                    P              ⁡                              (                                                      H                    ⁢                                                                                  ⁢                    x                                    +                  e                                )                                      =                                          P                ⁢                                                                  ⁢                e                            ≈                              [                                                                                                    p                                                  1                          ⁢                                                                                                          ⁢                          j                                                                                                                                                                        p                                                  2                          ⁢                                                                                                          ⁢                          j                                                                                                                    ]                                                                        equation        ⁢                                  ⁢        3        ⁢        c            where p1j and p2j denotes elements of matrix P. Equation 3c shows that by ignoring the normal measurement noise, parity vector p induced by the error b on satellite 12-j must lie along a line whose slope is p1j/p2j. Each satellite 12-j is associated with its own characteristic bias line, with a slope determined by the elements of the respective column vector of P. The failed satellite is identified as the satellite with a characteristic bias line that lies along parity vector p. Note that n−m needs to be greater than or equal to two in order for parity vector p to be a vector. If p is not a vector, failure isolation cannot be performed.
When GPS receiver 14 does not have enough redundant ranging measurements available, integrity monitoring can not be performed. For example, GPS receiver 14 may not have a sufficient number of redundant measurements when GPS receiver 14 is directly obstructed from satellites 12-j by a building. In this example, the problem may be exacerbated because the number of poor quality pseudorange measurements by GPS receiver 14 would probably increase, which would further necessitate the need for integrity monitoring. Accordingly, there exists a need to perform integrity monitoring when GPS receiver 14 lacks redundant ranging measurements.